package com.yxinsur.imc.business.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxinsur.imc.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ToString
public class ContractExpenseRateVo {

    @ApiModelProperty("协议产品费率表id")
    private Long id;
    @Excel(name = "供应商名称")
    @ApiModelProperty("供应商名称")
    private String supplierName;
    @Excel(name = "供应商代码")
    @ApiModelProperty("供应商代码")
    private String supplierCode;
    @ApiModelProperty("供应商ID")
    private Long supplierId;
    @ApiModelProperty("协议ID")
    private Long contractId;

    @Excel(name = "协议名称")
    @ApiModelProperty("协议名称")
    private String contractName;
    @Excel(name = "险种名称")
    @ApiModelProperty("险种名称")
    private String riskName;
    @Excel(name = "险种内部代码")
    @ApiModelProperty("险种内部代码")
    private String riskCode;
    @ApiModelProperty("鲸云产品库代码")
    private String riskGuid;
    @ApiModelProperty("险种外部代码")
    private String supplierRiskCode;
    @Excel(name = "协议下科目名称")
    @ApiModelProperty("协议下科目名称")
    private String expenseName;

    @Excel(name = "方案")
    @ApiModelProperty("方案")
    private String insSchemeValue;
//    @Excel(name = "缴费频率",dictType = "")
//    @ApiModelProperty("缴费频率")
//    private String chargeIntervalEnum;
    @Excel(name = "缴费年期[起]")
    @ApiModelProperty("缴费年期[起]")
    private Long chargePeriodLowerValue;
    @Excel(name = "缴费年期[止]")
    @ApiModelProperty("缴费年期[止]")
    private Long chargePeriodUpperValue;
    @Excel(name = "保障年期[起]")
    @ApiModelProperty("保障年期[起]")
    private Long coveragePeriodLowerValue;
    @Excel(name = "保障年期[止]")
    @ApiModelProperty("保障年期[止]")
    private Long coveragePeriodUpperValue;
    @Excel(name = "保单年度[起]")
    @ApiModelProperty("保单年度[起]")
    private Long payYearLower;
    @Excel(name = "保单年度[止]")
    @ApiModelProperty("保单年度[止]")
    private Long payYearUpper;
    @Excel(name = "领取年龄[起]")
    @ApiModelProperty("领取年龄[起]")
    private Long pensionAgeLower;
    @Excel(name = "领取年龄[止]")
    @ApiModelProperty("领取年龄[止]")
    private Long pensionAgeUpper;
    @Excel(name = "扩展因子1")
    @ApiModelProperty("扩展因子1")
    private String factor1Value;
    @Excel(name = "扩展因子2")
    @ApiModelProperty("扩展因子2")
    private String factor2Value;
    @Excel(name = "扩展因子3")
    @ApiModelProperty("扩展因子3")
    private String factor3Value;
    @Excel(name = "是否基础手续费")
    @ApiModelProperty("是否基础手续费")
    private String isBaseFeeRate;

    @Excel(name = "协议生效日期",dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("协议生效日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date contractStartDate;

    @Excel(name = "协议失效日期",dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("协议失效日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date contractEndDate;
    //生效日期
    @Excel(name = "产品生效日期（起）",dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("产品生效日期（起）")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;

    //生效日期
    @Excel(name = "产品生效日期（止）",dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("产品生效日期（止）")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;
    @Excel(name = "费率")
    @ApiModelProperty("费率")
    private BigDecimal rate;

    @ApiModelProperty("险种表id")
    private Long repoInsId;

    @ApiModelProperty("协议下科目id")
    private Long contractExpenseId;

    @ApiModelProperty("方案id")
    private Long insSchemeId;

    @ApiModelProperty("供应商id")
    private Long repoSupplierId;
}
